/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package pe.edu.sistemas.postgrado.samupg.business.service.impl.admision;

import java.util.List;
import javax.annotation.Resource;
import org.apache.jasper.tagplugins.jstl.core.ForEach;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;
import pe.edu.sistemas.postgrado.samupg.business.service.admision.UsuarioService;
import pe.edu.sistemas.postgrado.samupg.repository.dao.CorreoDAO;
import pe.edu.sistemas.postgrado.samupg.repository.dao.UsuarioDAO;
import pe.edu.sistemas.postgrado.samupg.domain.model.Correo;
import pe.edu.sistemas.postgrado.samupg.domain.model.Usuario;

/**
 *
 * @author Almendra
 */
@Service
@Transactional(propagation= Propagation.SUPPORTS, readOnly=true)
public class UsuarioServiceImpl implements UsuarioService {    

    @Resource
    private UsuarioDAO usuarioDAO;
    @Resource
    private CorreoDAO correoDAO;
    
    @Transactional(propagation= Propagation.REQUIRED, readOnly=false)
    @Override
    public String salvar(Usuario usuario) {
        
        List<Correo> correos=(List<Correo>) usuario.getCorreos();
        usuario.setCorreos(null);
        String resultado=usuarioDAO.create(usuario);
        
        if(resultado!=null) {            
            return "No se pudo crear el interesado";
        }else{
            
            int i=0;            

            for (Correo correo : correos) {
                correos.get(i).setUsuario(usuario);                
                resultado=correoDAO.create(correos.get(i));
            }
           
            if(resultado!=null){
                return "No se pudieron crear los correos";
            }
        }
        return null;
    }
    
    @Override
    public Usuario Validar(Usuario usu) {
                
        Usuario usu2=usuarioDAO.getByNick(usu.getUsuNick());
        
        if(usu2!=null){
            if(usu2.getUsuPass().equals(usu.getUsuPass())){
                return usu2;
            }else{
                return null;
            }
        }else{
            return null;
        }
                
    }
    
}
